Real time sharing of relevant information in virtual meetings

ABSTRACT

A computer-implemented method, a computer system and a computer program product distribute content in a virtual meeting session. The method includes extracting a plurality of embedded graphics from a presentation. The embedded graphics are selected from a group consisting of web links, images and video data. The method also includes transmitting the plurality of embedded graphics to a participant computing device. Lastly, the method includes displaying a virtual meeting dashboard that includes the plurality of embedded graphics.

BACKGROUND

Embodiments relate generally to virtual meeting environments, and morespecifically, to sharing relevant information in real time amongparticipants of a virtual meeting.

Collaboration with others in a professional or personal setting usingvideotelephony services on the Internet and/or conducting “virtualmeetings” may be popular. Videotelephony may enable the reception andtransmission of audio-video signals by users in different locations,thereby providing a means to communicate video and voice between peoplein real time. Each meeting participant may communicate a video image ofthemselves along with audio of their voice using a personal computingdevice, such as a smart phone, tablet computing device, or personalcomputer. Each person attending a virtual meeting may participate fromany chosen location such as an office location or from home. Virtualmeeting software applications may include a dashboard display with audioand video from participants, as well as information that is relevantabout the virtual meeting and its participants.

SUMMARY

The method may include extracting a plurality of embedded graphics froma presentation at a presenter computing device. The embedded graphicsare selected from a group consisting of web links, images and videodata. The method may also include transmitting the plurality of embeddedgraphics to a participant computing device. Lastly, the method mayinclude displaying a virtual meeting dashboard. The virtual meetingdashboard may include the plurality of embedded graphics.

In an alternative embodiment, extracting the plurality of embeddedgraphics from the presentation may include determining whether each ofthe plurality of embedded graphics includes sensitive information andmay also include extracting the embedded graphic in response to anembedded graphic within the plurality of embedded graphics not includingthe sensitive information.

In another embodiment, the method may include determining a type ofembedded graphic for each of the plurality of embedded graphics includedin the presentation and may also include storing the determined type asmetadata associated with the embedded graphic.

In a further embodiment, determining the type of embedded graphic mayinclude using a machine learning model to classify the embedded graphicby the determined type.

In yet another embodiment, transmitting the plurality of embeddedgraphics to the participant computing device may occur when theparticipant computing device connects to the virtual meeting session.

In another embodiment, displaying the virtual meeting dashboard mayinclude receiving a preferred type of embedded graphic from aparticipant and comparing the preferred type and the type of embeddedgraphic for each of the plurality of embedded graphics. Lastly, in thisembodiment, displaying the virtual meeting dashboard may includedisplaying the embedded graphic in the virtual meeting dashboard inresponse to the preferred type matching the type of embedded graphic.

In a further embodiment, displaying the virtual meeting dashboard mayinclude obtaining a screen image of the participant computing device anddetermining whether the screen image includes the embedded graphic.Lastly, in this embodiment, displaying the virtual meeting dashboard mayinclude displaying the embedded graphic in the virtual meeting dashboardin response to the screen image including the embedded graphic.

In addition to a computer-implemented method, additional embodiments aredirected to a system and a computer program product for dynamicallyidentifying a shared document.

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used as an aid in determining the scope of the claimed subjectmatter.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts a block diagram of internal and external components ofthe computers and servers depicted in FIG. 2 , according to at least oneembodiment.

FIG. 2 depicts a block diagram of a computing environment that may beused to create a presentation during setup of a virtual meeting and alsoconduct a virtual meeting session over the network, according to anexemplary embodiment.

FIG. 3 depicts a flow chart diagram of a process to in accordance withone or more embodiments.

FIG. 4 depicts a cloud computing environment according to an exemplaryembodiment.

FIG. 5 depicts abstraction model layers according to an exemplaryembodiment.

DETAILED DESCRIPTION

As remote work and global collaboration grow, the use of collaborationtools such as video conferencing and virtual meetings may become moreprevalent. During virtual meetings, a presenter may share the screen oftheir computing device and display a presentation that they have createdthat may include tables or graphics or web links, among other things.The presenter may share the documents in advance but if not, it can befrustrating for participants who would like to review material coveredor view additional content from the document that was not displayed onthe shared screen. If web links are being shared, participants may haveto copy them down manually or ask the presenter or other participants tocopy the link into a text chat function, where the participant may thenhave the web links being referred to in the presentation. Theserequirements may result in the participant(s) missing key information,thereby wasting valuable collaboration time together and reducingproductivity in meetings.

Therefore, it may be advantageous to, among other things, have a way formeeting participants to have the content within a presentation sent tothem in advance automatically if the presenter or host of the virtualmeeting has not done so and/or present to participants in the virtualmeeting a customizable view of the relevant content within apresentation so that participants are not required to search for suchcontent manually in local or cloud storage or ask for content to beforwarded to them, either as a link in a text conversation or an emailof a specific graphic file or the presentation itself. Such a method mayimprove the technical capability of either or both of softwareapplications that may be used to create presentations and other meetingcontent and virtual meeting software applications. Such a method mayalso enhance professional and personal productivity in virtual meetings.

Referring to FIG. 1 , a block diagram of a computing device 100, inwhich processes involved in the embodiments described herein may beimplemented, is shown. Examples of computing systems, environments,and/or configurations that may be represented by the computing device100 include, but are not limited to, personal computer systems, servercomputer systems, thin clients, thick clients, hand-held or laptopdevices, microprocessor-based systems, network PCs, minicomputersystems, and distributed cloud computing environments that include anyof the described systems or devices. Computing device 100 may includeone or more central processor units (CPUs) 102, input/output module 104,network adapter 106 and memory 108. CPU 102 executes programinstructions in order to carry out the functions of the presentcommunications systems and methods. FIG. 1 illustrates an embodiment inwhich computing device 100 is implemented as a computer system with asingle processor, in which the CPU 102 utilizes system resources, suchas memory 108, input/output y 104, and network adapter 106. However, thepresent communications systems and methods also include embodiments inwhich computing device 100 may be implemented as a plurality ofnetworked computer systems, which may be multi-processor computersystems.

Input/output module 104 provides the capability to input data to, oroutput data from, computing device 100. For example, input/output module104 may include input devices, such as keyboards, mice, touchpads,trackballs, scanners, analog to digital converters, etc., outputdevices, such as video adapters, monitors, printers, etc., andinput/output devices, such as, modems, etc. Each computing device 100also includes a network adapter 106 such as TCP/IP adapter cards,wireless Wi-Fi interface cards, or 3G or 4G wireless interface cards orother wired or wireless communication links. The creation module 120 ordisplay module 124, as well as the virtual meeting application 206, maycommunicate with external computers via a network 110, which may be anypublic or proprietary LAN or WAN, including, but not limited to theInternet, and respective network adapters or interfaces.

Memory 108 stores program instructions that are executed by, and datathat are used and processed by, CPU 102 to perform the functions ofcomputing device 100. Memory 108 may include, for example, electronicmemory devices, such as random-access memory (RAM), read-only memory(ROM), programmable read-only memory (PROM), electrically erasableprogrammable read-only memory (EEPROM), flash memory, etc., andelectro-mechanical memory, such as magnetic disk drives, tape drives,optical disk drives, etc., which may use an Integrated Drive Electronics(IDE) interface, or a variation or enhancement thereof, such as enhancedIDE (EIDE) or Ultra-Direct Memory Access (UDMA), or a Small ComputerSystem Interface (SCSI) based interface, or a variation or enhancementthereof, such as fast-SCSI, wide-SCSI, fast and wide-SCSI, etc., orSerial Advanced Technology Attachment (SATA), or a variation orenhancement thereof, or a Fibre Channel-Arbitrated Loop (FC-AL)interface.

The contents of memory 108 may vary depending upon the function thatcomputing device 100 is programmed to perform. In the example shown inFIG. 1 , example memory contents are shown representing routines anddata for embodiments of the processes described herein. However, it maybe recognized that these routines, along with the memory contentsrelated to those routines, may not be included on one system or device,but rather may be distributed among a plurality of systems or devices,based on well-known engineering considerations. The presentcommunications systems and methods may include any and all sucharrangements. In an example of the creation of a presentation or othercontent for display in a virtual meeting on computing device 100, memory108 may include presentation application 208, which may also includecreation module 120, as shown in the configuration of FIG. 2 . Forexamples in which computing device 100 connects to a virtual meetingusing virtual meeting application 206, display module 124 may be loadedinto memory 108. In both examples, either creation module 120 or displaymodule 124 may access content database 122 to either read or write intothe database and facilitate either the distribution or display ofcontent from a presentation to participants of a virtual meeting. One ofordinary skill in the art may also recognize that the modules displayedin FIG. 1 are not the only modules that may be loaded in memory 108.Only those modules needed for one potential embodiment are shown forillustrative brevity.

Referring to FIG. 2 , a block diagram of a computing environment thatmay be used to create a presentation during setup of a virtual meetingand also conduct a virtual meeting session, according to at least oneembodiment. The networked computer environment 200 may include apresenter computing device 202 and one or more participant computingdevices 204, interconnected via a communication network 240. Accordingto at least one implementation, the networked computer environment 200may include a plurality of participant computing devices 204 of whichonly three are shown.

The communication network 110 may include various types of communicationnetworks, such as a wide area network (WAN), local area network (LAN), atelecommunication network, a wireless network, a public switched networkand/or a satellite network. The communication network 110 may includeconnections, such as wire, wireless communication links, or fiber opticcables. The network 110 may also include additional hardware not shownsuch as routers, firewalls, switches, gateway computers and/or edgeservers. It may be appreciated that FIG. 2 provides only an illustrationof one implementation and does not imply any limitations with regard tothe environments in which different embodiments may be implemented. Manymodifications to the depicted environments may be made based on designand implementation requirements. Accordingly, the communication network110 may represent any communication pathway between the variouscomponents of the networked computer environment 200.

As will be discussed with reference to FIGS. 4 and 5 , the virtualmeeting application 206 running a virtual meeting on the presentercomputing device 202 and participant computing device 204 may alsooperate in a cloud computing service model, such as Software as aService (SaaS), Platform as a Service (PaaS), or Infrastructure as aService (IaaS). The servers running the virtual meeting application 206on the devices participating in the virtual meeting may also be locatedin a cloud computing deployment model, such as a private cloud,community cloud, public cloud, or hybrid cloud.

The presenter computing device 202 may be a laptop computer, netbookcomputer, personal computer (PC), a desktop computer, or anyprogrammable electronic device or any network of programmable electronicdevices capable of hosting and running the presentation application 208and virtual meeting application 206. The presenter computing device 202may be used to create a presentation prior to a virtual meeting session,in which case presentation application 208 may be used to createpresentation 210, and also to establish and maintain a virtual meetingsession with virtual meeting application 206, which includes screensharing features. The screen sharing feature of the virtual meetingapplication 206 may be configured to allow a presenter utilizing thepresenter computing device 202, as shown in FIG. 2 , to share the videothat is displayed, including a computer desktop and software applicationwindows that are opened, including a display of presentation 210 withinthe context of a virtual meeting session. The video that is shared maybe a reproduction of the entire screen that is displayed locally at thecomputing device or a portion of the screen. In the case of a computingdevice with multiple screens, the virtual meeting application 206 mayshare any of the available screens. The presenter may configure thevirtual meeting application 206 to display whatever screen is needed forthe virtual meeting. As discussed with reference to FIG. 1 , presentercomputing device 202 may include computing device 100.

Participant computing device 204 may also include a virtual meetingapplication 206 that is displaying the screen that is shared by thepresenter computing device 202 and configured to communicate with theother virtual meeting computer devices via the communication network110, in accordance with an exemplary embodiment. The virtual meetingapplication 206 may provide a user interface in which a virtual meetingparticipant utilizing the participant computing device 204 may viewother participants and the presenter in the virtual meeting, as well asreceive the screen image that is shared by the presenter from thepresenter computing device 202 (as shown in FIG. 2 ), according to theexemplary embodiments. Participant computing device 204 may be, forexample, a mobile device, a telephone, a personal digital assistant, anetbook, a laptop computer, a tablet computer, a desktop computer, orany type of computing device capable of running a program and accessinga network. As discussed with reference to FIG. 1 , the participantcomputing device 204 may include computing device 100.

The creation module 120 or display module 124, depending on the deviceand configuration, may operate in tandem with either or both of thevirtual meeting application 206 and presentation application 208 on theparticipant computing devices 204 in the configuration shown in FIG. 2 .The corresponding module may be discrete software that is separatelyloaded into the computing device or may be embedded within the virtualmeeting application 206 or the presentation application 208 at thecomputing device, depending on the device and configuration. It will beappreciated by one of ordinary skill in the art that while the creationmodule 120 or display module 124 operate at a specific computing device,it is not required that the software is physically loaded or installedon the hardware but may be on a server for the virtual meeting session.The same is true for the virtual meeting application 206 itself as thevirtual meeting session may be fully in the cloud and hosted by avirtual meeting server that is not shown.

In the example of FIG. 2 , a presentation document, e.g., presentation210, with embedded text, web links and graphics may be created by apresenter. For instance, a virtual meeting may be called for a specificreason that requires such a document to support an oral presentation andthe speaker may create the document for the purpose of supporting theirwork. One of ordinary skill in the art will recognize that apresentation document may be created in many ways, most commonly withsoftware applications specifically designed to create presentationdocuments, e.g., presentation application 208. During the creation ofthe presentation document, or alternatively once creation is complete,the presentation document may be inspected for embedded graphics or weblinks, which may be useful later in the context of the meeting such thatparticipants may independently view them, or in the case of web links,have the actual link on the participant's screen to independently clickthe link and view the destination webpage. As an example of content thatmay be selected for extraction and storage, the presentation documentmay include a useful web link to a policy that will be discussed oranother website with more detailed information that may be discussedduring the virtual meeting session. In another example of usefulcontent, the presentation document may include a table of statisticsthat may be highly relevant to the virtual meeting topic.

Any embedded graphics or web links that may be found may be extractedand stored in a database, e.g., content database 122, or in flash memoryor temporary storage on a computing device for later retrieval. Suchinspection, extraction and storage may be accomplished by creationmodule 120 using an appropriate algorithm, e.g., object recognition tofind images of graphs, tables or other statistical diagrams, or textrecognition to find text such as web links.

Creation module 120 may be embedded within a software application thatmay be used to create presentations, e.g., presentation application 208,as shown in FIG. 2 , or may load and run separately on a computingdevice. Creation module 120 may be configured to find all graphicswithin a presentation document or may use filters to limit what isextracted. For instance, if any graphic or web link may be considered toinclude sensitive information, e.g., information that may beconfidential or personal in nature, then that graphic or web link may beexcluded from extraction or storage. In addition to this filtering,labels may also be created for the embedded graphics that may indicate atype of graphic that may be stored, such as “link” to indicate a weblink or “table” to indicate a statistical table. These labels may bestored as metadata associated with the embedded graphics, e.g., anadditional field in a database that includes the embedded graphics. Thelabels may be useful for navigating the database and locate embeddedgraphics of a desired type that may be provided by a participant in avirtual meeting to filter their view of the virtual meeting dashboard,as described below. In addition, a presenter may opt to only extract andstore certain graphics by type, in which case only embedded graphics ofa specific type may be extracted and stored.

It should also be noted that extraction and storage need not be limitedto a presentation document that may be created prior to a virtualmeeting. As described with respect to FIG. 3 , if a participantunexpectedly becomes a presenter, the presentation that may be shared inthe virtual meeting session may be scanned and any embedded graphics,subject to the filters described above, may be extracted and stored inthe same way as the presentation document in the example of FIG. 2 .

In the example shown in FIG. 2 , a virtual meeting session may beestablished between a presenter computing device 202 and one or moreparticipant computing devices 204, and a presenter may begin sharing apresentation with the participants. A presenter and participants mayjoin a virtual meeting with an application, e.g., virtual meetingapplication 206, located on either a presenter computing device 202 or aparticipant computing device 204, which allows many participants to joinvirtually with a single presenter and several participants. While it isrequired for the virtual meeting itself to have a single host that thecomputing devices use for connection purposes, it is not required thatthe computing device that initiates the virtual meeting session, e.g., ameeting host, and the presenter be the same person, as both presentercomputing device 202 and participant computing devices 204 have thecapability to share a presentation in the virtual meeting session. Anyperson connected to the virtual meeting may be a presenter or aparticipant. For the purposes of distributing content in the virtualmeeting, once a virtual meeting has begun and a person transmits apresentation via the virtual meeting application 206, the remainingcomputing devices are considered participant computing devices. Theoriginal host device may change roles such that they are a participant.As such, any of the modules in FIG. 1 , including the display module124, may exist on any computing device in the system, even if it is notcurrently operating on a specific computing device.

In an established virtual meeting session, an image of the presentationmay be shared with all participants. In the embodiment of FIG. 2 , thismay be accomplished through virtual meeting application 206, which mayproject an image of the screen of the presenter computing device 202onto the screens of all connected participants. However, it should benoted that a virtual meeting application 206 is not necessary for avirtual meeting session to be established. It is only required that agroup of participants are connected to one another for the purpose ofcollaboration.

In the example of FIG. 2 , once inspection of the presentation documentis complete and all relevant embedded graphics or web links have beenextracted and stored to memory, the embedded graphics themselves or alist of graphics with links to the actual files may be transmitted toall participants of the virtual meeting session. The transmission may bedone at any time, including immediately upon storage of the embeddedgraphics or, alternatively, at the time that a virtual meeting sessionmay be established. As an example of immediate transmission, if apresentation were to be linked to a specific virtual meeting that mayhave been called and there may be participants associated with thevirtual meeting session, along with contact details, then participantcontact information may be used to transmit the embedded graphics toparticipant computing devices 204. In another transmission example, theembedded graphics may be stored on the presenter computing device 202and once a participant connects to an established virtual meetingsession, the embedded graphics may be transmitted to the correspondingparticipant computing device 204.

Once the participant computing device 204 has the embedded graphics fromthe presentation document, display module 124 may be used to overlay avirtual meeting dashboard on the shared screen of the virtual meetingsession. Alternatively, the virtual meeting dashboard may be opened as aseparate window on the participant computing device 204. The virtualmeeting dashboard may display the embedded graphics that the participantcomputing device 204 may have received so that the participant mayindependently have the relevant information. There may be a defaultsetting to display all received information within the virtual meetingdashboard with a participant having the option to configure the virtualmeeting dashboard to filter what may be displayed. As described below,this may include limiting the view to only those graphics that arecurrently displayed on the shared screen of the virtual meeting session.In another embodiment, a participant may configure the virtual meetingdashboard to only display embedded graphics of a certain type, which maybe specified by the participant. It should be noted that while FIG. 2shows display module 124 as embedded in the virtual meeting application206, display module 124 may also load and run separately from any othersoftware, in a similar way to creation module 120.

As an example of the display on the participant computing device 204, aparticipant in the virtual meeting may be viewing a presentation and thescreen may be partitioned such that a sidebar may be opened thatincludes a list of the content that may be available from thepresentation, e.g., links or tables or graphics. In this example, theparticipant would be allowed to access any of these items directly,without the need to search or ask other participants to assist withreceiving the content. This may include clicking on the text if thegraphic is a web link to access the destination directly, in which casethe destination webpage may open within the virtual meeting dashboard orin a separate window. In an embodiment, a web browser running on theparticipant computing device 204 may be opened to take the participantto the destination of the web link. If the embedded graphic were astatistical diagram or some other image, the virtual meeting dashboardmay display the actual image within the virtual meeting dashboard orshow a thumbnail image or some text that may be linked to the actualimage within the database that has been transmitted to the participantcomputing device 204. In the case of a diagram or image, opening theembedded graphic may be accomplished in tandem with the display module124, virtual meeting application 206, any combination thereof or with anappropriate separate software application that may be designed to openthe diagram or image. The virtual meeting dashboard may be a separatedisplay on the screen of the participant computing device 204 to accessembedded graphics independently of the presentation within the sharedscreen.

Referring to FIG. 3 , an operational flowchart illustrating a process300 to distribute content in a virtual meeting session is depictedaccording to at least one embodiment. At 302, embedded graphics in apresentation may be extracted and stored in a database, e.g., contentdatabase 122. In an embodiment, this step may be accomplished in thepresenter computing device 202 while a presentation for an upcomingvirtual meeting is being created. The presentation may be inspected forthe presence of multiple types of embedded graphics, which may consistof web links, i.e., text data in the form of an address or URL that maybe clicked on to take a user to the address or URL, or graphical objectssuch as statistical charts, tables or graphs. In addition to the actualgraphic, related information about the graphic, e.g., type of graphic,may also be collected and stored as metadata along with the graphic inthe database. As an example, if a web link is found in the presentation,the text of the link may be extracted and an appropriate designation,such as “link,” may be added in a separate database field that isassociated with the web link, i.e., metadata. When stored in thedatabase, this metadata may allow the database to be searched and/orsorted by specific designations.

In an embodiment, the embedded graphics may be classified according to atype using a machine learning classification model. One or more of thefollowing machine learning algorithms may be used to classify theevents: logistic regression, naive Bayes, support vector machines,artificial neural networks and random forests. In an embodiment, anensemble learning technique may be employed that uses multiple machinelearning algorithms together to assure better prediction when comparedwith the prediction of a single machine learning algorithm. Each typeused in the classification results may be equivalent to a graphicalrepresentation that may be useful to participants. Examples of types mayinclude a web link, e.g., text that defines an address or URL that maybe followed to seek useful information, a statistical diagram such as agraph or table of data that a participant may find relevant or useful tothe discussion in the virtual meeting, or in some cases an image orvideo. The results of the determination of a type may be stored with theembedded graphic as associated metadata.

In a further embodiment, it may be determined whether embedded graphicsinclude sensitive information. Examples of sensitive information mayinclude any personal information that may not be relevant to a virtualmeeting discussion or company's confidential information in a context ofa virtual meeting with some or all participants who are not employees ofthe company. In this embodiment, only information classified as notsensitive may be extracted and therefore also stored and/or transmittedto participants.

The decisions for determining whether information is sensitive, e.g.,filtering embedded graphics from extraction, may be set by an owner ofthe sensitive information, who may be either the presenter or theparticipant in a virtual meeting, or with training data that is put intoa machine learning classification model. The ability to mark informationas sensitive or not sensitive with respect to the machine learningclassifier may be configured for each embedded graphic. In an initialstate, extraction, and therefore storage and/or transmission, of allembedded graphics may be disabled. This default initial setting meansthe owner of the potentially sensitive information is required toconsent to any information being extracted and stored or transmittedover a network.

The information owner may check the embedded graphics by inspecting thepresentation during creation or the stored embedded graphics via anappropriate user interface (UI) and confirm what information may beextracted and stored or transmitted to others, and therefore whatinformation may be classified as sensitive. The information owner mayalso approve extraction, storage or transmission of certain information,or manually mark that information according to sensitivity. If theinformation owner approves extraction and storage or transmission viathese filter settings, only the information that is approved may beextracted. Any sensitive information will still be classified as suchand blocked from extraction or storage or transmission.

It should be noted that the information owner is free to make thesedecisions at any time and change what they choose to be sensitiveinformation as the sensitive nature of information may change over time.These settings are permanently retained to keep the machine learningclassifier updated with the latest information and also allow the ownerof the information complete control over their informed consent to usesensitive information in the distribution of content.

At 304, any embedded graphics, along with available metadata, that maybe available in the database may be transmitted to the participants inthe virtual meeting. It should be noted that the transmitting of theembedded graphics and associated metadata may be accomplished at anytime once a graphic has been stored. It is not required that apresentation be fully complete before participants are sent embeddedgraphics from the presentation, nor is it required that the transmissionof the embedded graphics occur at the same time of after a virtualmeeting session may be established. In the embodiment of FIG. 2 , thepresentation may be created before the virtual meeting and thepresentation may be inspected for embedded graphics and the creationmodule 120 may collect several embedded graphics of various types andpopulate a database with files and associated metadata. Then,automatically, the participants in the virtual meeting session may beidentified using the contact details of the virtual meeting and thecontents of the database may be sent to the identified participants.However, it is not required that the process be this orderly. Forinstance, a participant may unexpectedly wish to make a presentation ina virtual meeting. Once they share the presentation, the image on theshared screen may be scanned for embedded graphics of appropriate typesand these graphics may be stored in a database, e.g., content database122, along with metadata to identify and sort the embedded graphics. Thecontents may then be transmitted to all participants in the virtualmeeting but one of ordinary skill in the art will recognize that in thisembodiment, the storing step may not be necessary, and the embeddedgraphics and metadata may be immediately sent to all participants. Inanother embodiment, the embedded graphics and metadata may be sent toparticipants at the time of connection to the virtual meeting session,which may be more efficient than being restricted to a preset list ofidentified participants and may also assure that the most up to dateinformation is available to transmit to participants.

At 306, the embedded graphics that were extracted in 302 and transmittedin 304 may be displayed to the participants in the virtual meeting inthe form of a virtual meeting dashboard that may be customized byparticipants and which may be integrated into the participant's view ofthe presentation. For example, if the virtual meeting session is beinghosted in a virtual meeting application, the virtual meeting dashboardmay appear in the virtual meeting application window in which themeeting is being hosted but this is not required. The virtual meetingdashboard may be displayed in a separate window that may be created forthe purpose of the virtual meeting dashboard, as determined by thedisplay module 124.

In an embodiment, each participant may configure the virtual meetingdashboard on the participant device to display a “cumulative view” suchthat all embedded graphics that may have been extracted from the entirepresentation are available to a participant and may be included in thevirtual dashboard. This cumulative view may improve efficiency since theembedded graphics within the virtual meeting dashboard are not limitedto a page that is currently being shown to the participants through thevirtual meeting application 206, i.e., the current image of thepresentation on the screen of the participant device.

However, in a further embodiment, the participant may also choose toconfigure the virtual meeting dashboard to limit the display to onlythose graphics that are currently displayed on the screen of theparticipant computing device. In this embodiment, a screen capture ofthe participant computing device may be obtained where the currentcontents of the screen may be analyzed using appropriate recognitionalgorithms, e.g., text recognition algorithms in the case of web linksor object recognition in the case of a statistical diagram, to determinewhich embedded graphics are currently being displayed on the screen ofthe participant computing device. The embedded graphics that have beenextracted and stored may then be checked to see if the embedded graphicis currently on the screen of the presenter computing device. If theembedded graphic is on the screen, the embedded graphic may be added tothe virtual meeting dashboard and displayed to the participant. If theembedded graphic is not on the screen of the participant computingdevice, then it may be excluded from the virtual meeting dashboard.

In an embodiment, each participant may also configure their virtualmeeting dashboard individually to limit their view by type of embeddedgraphic. In such a case, an account or profile that is specific to theparticipant with respect to a virtual meeting dashboard may be kept andmodified to filter the graphics that may appear on the participant'sdashboard. In this embodiment, a participant may indicate in theiraccount or profile which types of embedded graphic they prefer to see intheir virtual meeting dashboard. This preferred type may be compared tothe stored embedded graphics, i.e., the content database 122, and onlyembedded graphics including a type that matches the preferred type maybe displayed in the virtual meeting dashboard. For instance, aparticipant may determine that only web links and no statisticaldiagrams such as tables or graphs should appear in the participant'svirtual meeting dashboard. In this instance, the content database 122may be inspected and only those graphics that also include a designationof “link” may be displayed in the virtual meeting dashboard of theparticipant.

It should be noted that the participant is free to make any decisionsabout the information to be included in the virtual meeting dashboard atany time and change what they choose to view as the account or profilemay be saved to retain the latest information and also allow theparticipant complete control over their virtual meeting dashboardsettings.

It is to be understood that although this disclosure includes a detaileddescription on cloud computing, implementation of the teachings recitedherein are not limited to a cloud computing environment. Rather,embodiments of the present invention are capable of being implemented inconjunction with any other type of computing environment now known orlater developed.

Cloud computing is a model of service delivery for enabling convenient,on-demand network access to a shared pool of configurable computingresources (e.g., networks, network bandwidth, servers, processing,memory, storage, applications, virtual machines, and services) that canbe rapidly provisioned and released with minimal management effort orinteraction with a provider of the service. This cloud model may includeat least five characteristics, at least three service models, and atleast four deployment models.

Characteristics are as follows:

On-demand self-service: a cloud consumer can unilaterally provisioncomputing capabilities, such as server time and network storage, asneeded automatically without requiring human interaction with theservice's provider.

Broad network access: capabilities are available over a network andaccessed through standard mechanisms that promote use by heterogeneousthin or thick client platforms (e.g., mobile phones, laptops, and PDAs).

Resource pooling: the provider's computing resources are pooled to servemultiple consumers using a multi-tenant model, with different physicaland virtual resources dynamically assigned and reassigned according todemand. There is a sense of location independence in that the consumergenerally has no control or knowledge over the exact location of theprovided resources but may be able to specify location at a higher levelof abstraction (e.g., country, state, or datacenter).

Rapid elasticity: capabilities can be rapidly and elasticallyprovisioned, in some cases automatically, to quickly scale out andrapidly released to quickly scale in. To the consumer, the capabilitiesavailable for provisioning often appear to be unlimited and can bepurchased in any quantity at any time.

Measured service: cloud systems automatically control and optimizeresource use by leveraging a metering capability at some level ofabstraction appropriate to the type of service (e.g., storage,processing, bandwidth, and active user accounts). Resource usage can bemonitored, controlled, and reported, providing transparency for both theprovider and consumer of the utilized service.

Service Models are as follows:

Software as a Service (SaaS): the capability provided to the consumer isto use the provider's applications running on a cloud infrastructure.The applications are accessible from various client devices through athin client interface such as a web browser (e.g., web-based e-mail).The consumer does not manage or control the underlying cloudinfrastructure including network, servers, operating systems, storage,or even individual application capabilities, with the possible exceptionof limited user-specific application configuration settings.

Platform as a Service (PaaS): the capability provided to the consumer isto deploy onto the cloud infrastructure consumer-created or acquiredapplications created using programming languages and tools supported bythe provider. The consumer does not manage or control the underlyingcloud infrastructure including networks, servers, operating systems, orstorage, but has control over the deployed applications and possiblyapplication hosting environment configurations.

Infrastructure as a Service (IaaS): the capability provided to theconsumer is to provision processing, storage, networks, and otherfundamental computing resources where the consumer is able to deploy andrun arbitrary software, which can include operating systems andapplications. The consumer does not manage or control the underlyingcloud infrastructure but has control over operating systems, storage,deployed applications, and possibly limited control of select networkingcomponents (e.g., host firewalls).

Deployment Models are as follows:

Private cloud: the cloud infrastructure is operated solely for anorganization. It may be managed by the organization or a third party andmay exist on-premises or off-premises.

Community cloud: the cloud infrastructure is shared by severalorganizations and supports a specific community that has shared concerns(e.g., mission, security requirements, policy, and complianceconsiderations). It may be managed by the organizations or a third partyand may exist on-premises or off-premises.

Public cloud: the cloud infrastructure is made available to the generalpublic or a large industry group and is owned by an organization sellingcloud services.

Hybrid cloud: the cloud infrastructure is a composition of two or moreclouds (private, community, or public) that remain unique entities butare bound together by standardized or proprietary technology thatenables data and application portability (e.g., cloud bursting forload-balancing between clouds).

A cloud computing environment is service oriented with a focus onstatelessness, low coupling, modularity, and semantic interoperability.At the heart of cloud computing is an infrastructure that includes anetwork of interconnected nodes.

Referring now to FIG. 4 , illustrative cloud computing environment 50 isdepicted. As shown, cloud computing environment 50 includes one or morecloud computing nodes 10 with which local computing devices used bycloud consumers, such as, for example, personal digital assistant (PDA)or cellular telephone 54A, desktop computer 54B, laptop computer 54C,and/or automobile computer system 54N may communicate. Nodes 10 maycommunicate with one another. They may be grouped (not shown) physicallyor virtually, in one or more networks, such as Private, Community,Public, or Hybrid clouds as described hereinabove, or a combinationthereof. This allows cloud computing environment 50 to offerinfrastructure, platforms and/or software as services for which a cloudconsumer does not need to maintain resources on a local computingdevice. It is understood that the types of computing devices 54A-N shownin FIG. 4 are intended to be illustrative only and that computing nodes10 and cloud computing environment 50 can communicate with any type ofcomputerized device over any type of network and/or network addressableconnection (e.g., using a web browser).

Referring now to FIG. 5 , a set of functional abstraction layersprovided by cloud computing environment 50 (FIG. 4 ) is shown. It shouldbe understood in advance that the components, layers, and functionsshown in FIG. 5 are intended to be illustrative only and embodiments ofthe invention are not limited thereto. As depicted, the following layersand corresponding functions are provided:

Hardware and software layer 60 includes hardware and softwarecomponents. Examples of hardware components include: mainframes 61; RISC(Reduced Instruction Set Computer) architecture based servers 62;servers 63; blade servers 64; storage devices 65; and networks andnetworking components 66, such as a load balancer. In some embodiments,software components include network application server software 67 anddatabase software 68.

Virtualization layer 70 provides an abstraction layer from which thefollowing examples of virtual entities may be provided: virtual servers71; virtual storage 72; virtual networks 73, including virtual privatenetworks; virtual applications and operating systems 74; and virtualclients 75.

In one example, management layer 80 may provide the functions describedbelow. Resource provisioning 81 provides dynamic procurement ofcomputing resources and other resources that are utilized to performtasks within the cloud computing environment. Metering and Pricing 82provide cost tracking as resources are utilized within the cloudcomputing environment, and billing or invoicing for consumption of theseresources. In one example, these resources may include applicationsoftware licenses. Security provides identity verification for cloudconsumers and tasks, as well as protection for data and other resources.User portal 83 provides access to the cloud computing environment forconsumers and system administrators. Service level management 84provides cloud computing resource allocation and management such thatrequired service levels are met. Service Level Agreement (SLA) planningand fulfillment 85 provide pre-arrangement for, and procurement of,cloud computing resources for which a future requirement is anticipatedin accordance with an SLA.

Workloads layer 90 provides examples of functionality for which thecloud computing environment may be utilized. Examples of workloads andfunctions which may be provided from this layer include mapping andnavigation 91; software development and lifecycle management 92; virtualclassroom education delivery 93; data analytics processing 94;transaction processing 95; and distribution of content 96. Distributionof virtual content may describe extracting embedded graphics of any typeand displaying the embedded graphics in a virtual meeting dashboard, aswell as transmitting the embedded graphics to participants of thevirtual meeting.

The present invention may be a system, a method, and/or a computerprogram product at any possible technical detail level of integration.The computer program product may include a computer readable storagemedium (or media) having computer readable program instructions thereonfor causing a processor to carry out aspects of the present invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, configuration data for integrated circuitry, oreither source code or object code written in any combination of one ormore programming languages, including an object oriented programminglanguage such as Smalltalk, C++, or the like, and procedural programminglanguages, such as the “C” programming language or similar programminglanguages. The computer readable program instructions may executeentirely on the user's computer, partly on the user's computer, as astand-alone software package, partly on the user's computer and partlyon a remote computer or entirely on the remote computer or server. Inthe latter scenario, the remote computer may be connected to the user'scomputer through any type of network, including a local area network(LAN) or a wide area network (WAN), or the connection may be made to anexternal computer (for example, through the Internet using an InternetService Provider). In some embodiments, electronic circuitry including,for example, programmable logic circuitry, field-programmable gatearrays (FPGA), or programmable logic arrays (PLA) may execute thecomputer readable program instructions by utilizing state information ofthe computer readable program instructions to personalize the electroniccircuitry, in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a computer, or other programmable data processing apparatusto produce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks. These computerreadable program instructions may also be stored in a computer readablestorage medium that can direct a computer, a programmable dataprocessing apparatus, and/or other devices to function in a particularmanner, such that the computer readable storage medium havinginstructions stored therein comprises an article of manufactureincluding instructions which implement aspects of the function/actspecified in the flowchart and/or block diagram block or blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the blocks may occur out of theorder noted in the Figures. For example, two blocks shown in successionmay, in fact, be accomplished as one step, executed concurrently,substantially concurrently, in a partially or wholly temporallyoverlapping manner, or the blocks may sometimes be executed in thereverse order, depending upon the functionality involved. It will alsobe noted that each block of the block diagrams and/or flowchartillustration, and combinations of blocks in the block diagrams and/orflowchart illustration, can be implemented by special purposehardware-based systems that perform the specified functions or acts orcarry out combinations of special purpose hardware and computerinstructions.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration but are not intended tobe exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the describedembodiments. The terminology used herein was chosen to best explain theprinciples of the embodiments, the practical application or technicalimprovement over technologies found in the marketplace, or to enableothers of ordinary skill in the art to understand the embodimentsdisclosed herein.

What is claimed is:
 1. A computer-implemented method for distributinggraphical content from a shared presentation in a virtual meetingsession, the method comprising: obtaining a presentation file from apresenter computing device, wherein the presentation file includes thegraphical content from the shared presentation; identifying an embeddedgraphic in the graphical content of the presentation file, wherein theembedded graphic is selected from a group consisting of web links,images and video data; extracting the embedded graphic from thepresentation file and transmitting the embedded graphic to a participantcomputing device; and displaying a virtual meeting dashboard in thevirtual meeting session, wherein the virtual meeting dashboard includesthe embedded graphic.
 2. The computer-implemented method of claim 1,wherein the identifying the embedded graphic in the graphical content ofthe presentation file further comprises: determining of that theembedded graphic does not include sensitive information.
 3. Thecomputer-implemented method of claim 1, further comprising: determininga type of embedded graphic for the embedded graphic; and storing thetype of embedded graphic in a content database as metadata associatedwith the embedded graphic.
 4. The computer-implemented method of claim3, wherein the determining the type of embedded graphic uses a machinelearning model to classify the embedded graphic by the type of embeddedgraphic.
 5. The computer-implemented method of claim 1, furthercomprising connecting the participant computing device to a contentdatabase when the participant computing device connects to the virtualmeeting session.
 6. The computer-implemented method of claim 3, whereinthe displaying the virtual meeting dashboard in the virtual meetingsession further comprises, in response to a participant indicating apreferred type of embedded graphic that matches the type of embeddedgraphic, adding the embedded graphic to the virtual meeting dashboard.7. The computer-implemented method of claim 1, wherein the displayingthe virtual meeting dashboard in the virtual meeting session furthercomprises: obtaining a screen image of the participant computing device;determining that the screen image includes the embedded graphic; andadding the embedded graphic in to the virtual meeting dashboard.
 8. Acomputer system for distributing graphical content from a sharedpresentation in a virtual meeting session, the computer systemcomprising: one or more processors, one or more computer-readablememories, and one or more computer-readable storage media; programinstructions, stored on at least one of the one or morecomputer-readable storage media for execution by at least one of the oneor more processors via at least one of the one or more memories toobtain a presentation file from a presenter computing device, whereinthe presentation file includes the graphical content from the sharedpresentation; program instructions, stored on at least one of the one ormore computer-readable storage media for execution by at least one ofthe one or more processors via at least one of the one or more memories,to identify an embedded graphic in the graphical content of thepresentation file, wherein the embedded graphic is selected from a groupconsisting of web links, images and video data; program instructions,stored on at least one of the one or more computer-readable storagemedia for execution by at least one of the one or more processors via atleast one of the one or more memories, to extract the embedded graphicfrom the presentation file and transmit the embedded graphic to aparticipant computing device; and program instructions, stored on atleast one of the one or more computer-readable storage media forexecution by at least one of the one or more processors via at least oneof the one or more memories, to display a virtual meeting dashboard inthe virtual meeting session, wherein the virtual meeting dashboardincludes the embedded graphic.
 9. The computer system of claim 8,wherein the identifying the embedded graphic in the graphical content ofthe presentation file further comprises: determining that the embeddedgraphic does not include sensitive information.
 10. The computer systemof claim 8, further comprising: program instructions, stored on at leastone of the one or more computer-readable storage media for execution byat least one of the one or more processors via at least one of the oneor more memories, to determine a type of embedded graphic for theembedded graphic; and program instructions, stored on at least one ofthe one or more computer-readable storage media for execution by atleast one of the one or more processors via at least one of the one ormore memories, to store the type of embedded graphic in a contentdatabase as metadata associated with the embedded graphic.
 11. Thecomputer system of claim 10, wherein the determining the type ofembedded graphic uses a machine learning model to classify the embeddedgraphic by the type of embedded graphic.
 12. The computer system ofclaim 8, further comprising program instructions, stored on at least oneof the one or more computer-readable storage media for execution by atleast one of the one or more processors via at least one of the one ormore memories, to connect the participant computing device to a contentdatabase when the participant computing device connects to the virtualmeeting session.
 13. The computer system of claim 10, wherein thedisplaying the virtual meeting dashboard in the virtual meeting sessionfurther comprises, in response to a participant indicating a preferredtype of embedded graphic that matches the type of embedded graphic,adding the embedded graphic in to the virtual meeting dashboard.
 14. Thecomputer system of claim 8, wherein the displaying the virtual meetingdashboard in the virtual meeting session further comprises: obtaining ascreen image of the participant computing device; determining that thescreen image includes the embedded graphic; adding the embedded graphicin to the virtual meeting dashboard.
 15. A computer program product fordistributing graphical content from a shared presentation in a virtualmeeting session, the computer program product comprising: one or morecomputer-readable storage media; program instructions, stored on atleast one of the one or more computer-readable storage media, to obtaina presentation file from a presenter computing device, wherein thepresentation file includes the graphical content from the sharedpresentation; program instructions, stored on at least one of the one ormore computer-readable storage media, to identify an embedded graphic inthe graphical content of the presentation file, wherein the embeddedgraphic is selected from a group consisting of web links, images andvideo data; program instructions, stored on at least one of the one ormore computer-readable storage media, to extracting the embedded graphicfrom the presentation file and transmit the embedded graphic to aparticipant computing device; and program instructions, stored on atleast one of the one or more computer-readable storage media, to displaya virtual meeting dashboard in the virtual meeting session, wherein thevirtual meeting dashboard includes the embedded graphic.
 16. Thecomputer program product of claim 15, wherein the identifying theembedded graphic in the graphical content of the presentation filefurther comprises: determining that the embedded graphic does notinclude sensitive information.
 17. The computer program product of claim15, further comprising: program instructions, stored on at least one ofthe one or more computer-readable storage media, to determine a type ofembedded graphic for the embedded graphic; and program instructions,stored on at least one of the one or more computer-readable storagemedia, to store the type of embedded graphic in a content database asmetadata associated with the embedded graphic.
 18. The computer programproduct of claim 17, wherein the determining the type of embeddedgraphic uses a machine learning model to classify the embedded graphicby the type of embedded graphic.
 19. The computer program product ofclaim 17, wherein the displaying the virtual meeting dashboard in thevirtual meeting session further comprises, in response to a participantindicating a preferred type of embedded graphic that matches the type ofembedded graphic, adding the embedded graphic to the virtual meetingdashboard.
 20. The computer program product of claim 15, wherein thedisplaying the virtual meeting dashboard in the virtual meeting sessionfurther comprises: obtaining a screen image of the participant computingdevice; determining that the screen image includes the embedded graphic;adding the embedded graphic in to the virtual meeting dashboard.